/*

Object.entries() 方法返回一个数组， 成员是参数对象自身的（ 不含继承的） 所有可遍历（ enumerable） 属性的键值对数组。
除了返回值不一样， 该方法的行为与Object.values基本一致。


*/
const obj = {
	foo: 'bar',
	baz: 42
};
Object.entries(obj) // [ ["foo", "bar"], ["baz", 42] ]



//如果原对象的属性名是一个 Symbol 值，该属性会被忽略掉。
Object.entries({
	[Symbol()]: 123,
	foo: 'abc'
}); // [ [ 'foo', 'abc' ] ]



//Object.entries的基本用途是搭配for of遍历对象的属性。
let obj = {
	one: 1,
	two: 2
};
for (let [k, v] of Object.entries(obj)) {
	console.log(
		`${JSON.stringify(k)}: ${JSON.stringify(v)}`
	);
}
// "one": 1
// "two": 2



//Object.entries方法的另一个用处是，将对象转为真正的Map结构。
const obj = {
	foo: 'bar',
	baz: 42
};
const map = new Map(Object.entries(obj));
map // Map { foo: "bar", baz: 42 }
